#ifndef BARRIL_H_
#define BARRIL_H_

#include "../ObjetoMovible.h"
#include "../Personajes/Personaje.h"
#include "Tortuga.h"

class EstadoBarril {
	
	public:

	static const int Explotando;
	static const int SinParticular;
	
	static const vector<int> acciones;
	static const vector<int> accionesParticulares;
	static const vector<string> descripcionAcciones;
	static const vector<string> descripcionAccionesParticulares;
	
};

class Barril : public ObjetoMovible {
	
	vector<Animacion*> accionesParticulares;
	int estadoParticular;
	bool ultimaVelocidadZero;

	static const int PUNTOS_SUMAR = 100;
	static const int PUNTOS_RESTAR = 50;

	public:
		Barril(int x, int y, int maximoX, int maximoY, Orientacion orientacion);
		void Explotar();
		void Detener();
		void randCambioSentido();
		virtual void Actualizar(Uint32 time);
		virtual void Morir();
		virtual pair<idImagen_t, int> getDibujable(Uint32 time);
		virtual int indexEstado(int estado);
		void setEstadoParticular(int estado);
		void addAccionParticular(int idImagen, int cuadros);

		virtual void ColisionarConPersonaje(ObjetoEstatico* personaje, int colX, int colY, int colXvieja = NULL, int colYvieja = NULL);
		virtual void ColisionarConEnemigo(ObjetoEstatico* movible, int colX, int colY, int colXvieja = NULL, int colYvieja = NULL);
};

#endif /* BARRIL_H_ */
